﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
 * 方法重载
 *          规则：
 *              1 同一个类内部，相同名字，不同参数的方法为方法重载
 *              
 *              2 什么叫参数的不同？
 *              
 *                  2.1 参数的类型/个数/顺序(类型顺序)
 *                  
 *                  2.2 返回值不同不属于参数不同，不能判定重载
 */

namespace 方法的重载
{
    internal class Program
    {
        static void Main(string[] args)
        {
            fn(3); //调用1号fn
            fn(10.5); //调用2号fn
            fn(3,5); //调用3号fn
            fn(1,6.5); //调用4号fn
            fn(6.5,1); //调用5号fn

            Console.Read();
        }

        //1
        public static int fn(int a)
        {
            Console.WriteLine("1号fn");
            return 10;
        }

        //2
        public static int fn(double a)
        {
            Console.WriteLine("2号fn");
            return 10;
        }

        //3
        public static int fn(int a, int b)
        {
            Console.WriteLine("3号fn");
            return 10;
        }

        //4
        public static int fn(int a, double b)
        {
            Console.WriteLine("4号fn");
            return 10;
        }

        //5
        public static int fn(double a, int b)
        {
            Console.WriteLine("5号fn");
            return 10;
        }
    }
}
